package com.tencent.sr.iris.activity.interfaces.client.activity;

import com.tencent.sr.iris.activity.interfaces.request.IrisPaginationRequest;
import com.tencent.sr.iris.activity.interfaces.request.acticity.ActivityTaskRequest;
import com.tencent.sr.iris.activity.interfaces.request.acticity.BatchDataRequest;
import com.tencent.sr.iris.activity.interfaces.response.SearchAfterPaginationResponse;
import com.tencent.sr.iris.activity.interfaces.response.activity.ActivityTierResponse;
import com.tencent.sr.iris.activity.interfaces.response.activity.BatchDataResponse;
import com.tencent.sr.iris.activity.interfaces.response.activity.BatchStatisticsResponse;
import com.tencent.sr.rmall.common.primitive.HttpResult;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient(value = "iris-activity-core-service", contextId = "ActivityBatchDataClient",
        path = "/api/v1/iris/iris-activity-core-service/activity/batchData")
public interface ActivityBatchDataClient {


    @PostMapping("page")
    @ApiOperation(value = "分页查询", httpMethod = "POST")
    HttpResult<SearchAfterPaginationResponse<BatchDataResponse>> page(
            @Validated @RequestBody IrisPaginationRequest<BatchDataRequest> request);

    @PostMapping("activityStatic")
    @ApiOperation(value = "分页查询", httpMethod = "POST")
    HttpResult<BatchStatisticsResponse> activityStatic(
            @Validated @RequestBody BatchDataRequest request);

    @PostMapping("getActivityMaxTier")
    @ApiOperation(value = "获取活动的最大阶数", httpMethod = "POST")
    HttpResult<ActivityTierResponse> getActivityMaxTier(
            @Validated @RequestBody ActivityTaskRequest request);
}
